#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
//
//class Date
//{
//public:
//	Date(int year = 1, int minute = 1, int day = 1)
//	{
//		cout << "Date(int,int,int):" << this << endl;
//	}
//	Date(const Date& d)
//	{
//		cout << "Date(const Date& d):" << this << endl;
//	}
//	~Date()
//	{
//		cout << "~Date():" << this << endl;
//	}
//private:
//	int _year;
//	int _month;
//	int _day;
//};
//Date& Test(Date d)
//{
//	Date temp(d);
//	return temp;
//} 
//int main()
//{
//	Date d1(2022, 1, 13);
//	Date ret = Test(d1);
//	return 0;
//}

//
//
//class Date
//{
//public:
//	Date(int year = 1, int minute = 1, int day = 1)
//	{
//		cout << "Date(int,int,int):" << this << endl;
//	}
//
//
//private:
//	int _year;
//	int _month;
//	int _day;
//};
//
//
//Date Test(Date d)
//{
//	Date temp(d);
//	return temp;
//} 
//
//
//
//int main()
//{
//
//	return 0;
//}

//class Date
//{
//public:
//	Date(int year = 4, int month = 4, int day = 4)
//	{
//		_year = year;
//		_month = month;
//		_day = day;
//	}
//	Date(Date& d)
//	{
//		_year = d._year;
//		_month = d._month;
//		_day = d._day;
//	}
//	int _year;
//	int _month;
//	int _day;
//};
//bool operator==(Date& d1, Date& d2)
//{
//	return d1._year == d2._year 
//		&& d1._month == d2._month 
//		&& d1._day == d2._day;
//}
//int main()
//{
//	Date d1(2024, 7, 9);
//	Date d2(d1);
//
//	if (operator==(d1, d2))
//	{
//		cout << "Yes!" << endl;
//	}
//
//	if (d1 == d2)
//	{
//		cout << "Yes!" << endl;
//	}
//
//	return 0;
//}


//
//class Date
//{
//public:
//	Date(int year = 4, int month = 4, int day = 4)
//	{
//		_year = year;
//		_month = month;
//		_day = day;
//	}
//	Date(Date& d)
//	{
//		_year = d._year;
//		_month = d._month;
//		_day = d._day;
//	}
//	bool operator==(const Date& d)
//	{
//		return _year == d._year
//			&& _month == d._month
//			&& _day == d._day;
//	}
//private:
//	int _year;
//	int _month;
//	int _day;
//};
//
//int main()
//{
//	Date d1(2024, 7, 9);
//	Date d2(d1);
//
//	if (d1.operator==(d2))
//	{
//		cout << "Yes!" << endl;
//	}
//
//	if (d1 == d2)
//	{
//		cout << "Yes!" << endl;
//	}
//
//	return 0;
//}


class Date
{
public:
	void Print();
	Date(int year = 4, int month = 4, int day = 4)
	{
		_year = year;
		_month = month;
		_day = day;
	}
	Date(Date& d)
	{
		_year = d._year;
		_month = d._month;
		_day = d._day;
	}
	Date& operator=(const Date& d)
	{
		if (this != &d)
		{
			_year = d._year;
			_month = d._month;
			_day = d._day;
		}
		 return *this;
	}
private:
	int _year;
	int _month;
	int _day;
};
void Date::Print()
{
	cout << _year << "-" << _month << "-" << _day << endl;
}
int main()
{
	Date d1(2024, 7, 9);
	d1.Print();

	//Date d2 = d1;
	//d2.Print();

	//Date d3;
	//d3.Print();
	//d3 = d1;
	//d3.Print();

	return 0;
}